home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / nlist.h < prev    next >
C/C++ Source or Header  |  1989-12-17  |  2KB  |  50 lines

  1. /*
  2.  * Copyright (c) 1980 Regents of the University of California.
  3.  * All rights reserved.  The Berkeley software License Agreement
  4.  * specifies the terms and conditions for redistribution.
  5.  *
  6.  *      @(#)nlist.h     5.2 (Berkeley) 4/7/87
  7.  */
  8.  
  9. /*
  10.  * Format of a symbol table entry; this file is included by <a.out.h>
  11.  * and should be used if you aren't interested the a.out header
  12.  * or relocation information.
  13.  */
  14. struct  nlist {
  15.     union {
  16.         char    *n_name;    /* for use when in-core */
  17.         long    n_strx;        /* index into file string table */
  18.     } n_un;
  19.         unsigned char n_type;   /* type flag, i.e. N_TEXT etc; see below */
  20.         char    n_other;        /* unused */
  21.         short   n_desc;         /* see <stab.h> */
  22.         unsigned long n_value;  /* value of this symbol (or sdb offset) */
  23. };
  24. #define n_hash  n_desc          /* used internally by ld */
  25.  
  26. /*
  27.  * Simple values for n_type.
  28.  */
  29. #define N_UNDF  0x0             /* undefined */
  30. #define N_ABS   0x2             /* absolute */
  31. #define N_TEXT  0x4             /* text */
  32. #define N_DATA  0x6             /* data */
  33. #define N_BSS   0x8             /* bss */
  34. #define N_COMM  0x12            /* common (internal to ld) */
  35. #define N_FN    0x1e            /* file name symbol */
  36.  
  37. #define N_EXT   01              /* external bit, or'ed in */
  38. #define N_TYPE  0x1e            /* mask for all the type bits */
  39.  
  40. /*
  41.  * Sdb entries have some of the N_STAB bits set.
  42.  * These are given in <stab.h>
  43.  */
  44. #define N_STAB  0xe0            /* if any of these bits set, a SDB entry */
  45.  
  46. /*
  47.  * Format for namelist values.
  48.  */
  49. #define N_FORMAT        "%08x"
  50.